﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// 原题连接：https://www.nowcoder.com/practice/e160b104354649b69600803184094adb?tpId=196&tqId=40514&ru=/exam/oj

/*
题目描述：
有 n 个活动即将举办，每个活动都有开始时间与活动的结束时间，第 i 个活动的开始时间是 starti ,第 i 个活动的结束时间是 endi ,举办某个活动就需要为该活动准备一个活动主持人。

一位活动主持人在同一时间只能参与一个活动。并且活动主持人需要全程参与活动，换句话说，一个主持人参与了第 i 个活动，那么该主持人在 (starti,endi) 这个时间段不能参与其他任何活动。请问一个只有一个主持人能否举办全部活动。

数据范围:
1
≤
n
≤
1
0
5
1≤n≤10
5
  ，
0
≤
s
t
a
r
t
i
,
e
n
d
i
≤
1
0
9
0≤start
i
​
 ,end
i
​
 ≤10
9

示例1
输入：
[[0,10],[10,20],[20,30]]
复制
返回值：
true
复制
示例2
输入：
[[0,10],[10,20],[15,30]]
复制
返回值：
false

*/

// 开始解题：
// 方法——排序
class Solution {
public:
    bool hostschedule(vector<vector<int> >& schedule) {
        int n = schedule.size();
        sort(schedule.begin(), schedule.end());
        for (int i = 1; i < n; i++) {
            if (schedule[i][0] < schedule[i - 1][1]) {
                return false;
            }
        }
        return true;
    }
};